<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="cloudchannel_v1.html">Cloud Channel API</a> . <a href="cloudchannel_v1.accounts.html">accounts</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="cloudchannel_v1.accounts.channelPartnerLinks.html">channelPartnerLinks()</a></code>
</p>
<p class="firstline">Returns the channelPartnerLinks Resource.</p>

<p class="toc_element">
  <code><a href="cloudchannel_v1.accounts.customers.html">customers()</a></code>
</p>
<p class="firstline">Returns the customers Resource.</p>

<p class="toc_element">
  <code><a href="cloudchannel_v1.accounts.offers.html">offers()</a></code>
</p>
<p class="firstline">Returns the offers Resource.</p>

<p class="toc_element">
  <code><a href="cloudchannel_v1.accounts.reportJobs.html">reportJobs()</a></code>
</p>
<p class="firstline">Returns the reportJobs Resource.</p>

<p class="toc_element">
  <code><a href="cloudchannel_v1.accounts.reports.html">reports()</a></code>
</p>
<p class="firstline">Returns the reports Resource.</p>

<p class="toc_element">
  <code><a href="cloudchannel_v1.accounts.skuGroups.html">skuGroups()</a></code>
</p>
<p class="firstline">Returns the skuGroups Resource.</p>

<p class="toc_element">
  <code><a href="#checkCloudIdentityAccountsExist">checkCloudIdentityAccountsExist(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Confirms the existence of Cloud Identity accounts based on the domain and if the Cloud Identity accounts are owned by the reseller. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INVALID_VALUE: Invalid domain value in the request. Return value: A list of CloudIdentityCustomerAccount resources for the domain (may be empty) Note: in the v1alpha1 version of the API, a NOT_FOUND error returns if no CloudIdentityCustomerAccount resources match the domain.</p>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#listSubscribers">listSubscribers(account, integrator=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists service accounts with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: A list of service email addresses.</p>
<p class="toc_element">
  <code><a href="#listSubscribers_next">listSubscribers_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#listTransferableOffers">listTransferableOffers(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">List TransferableOffers of a customer based on Cloud Identity ID or Customer Name in the request. Use this method when a reseller gets the entitlement information of an unowned customer. The reseller should provide the customer's Cloud Identity ID or Customer Name. Possible error codes: * PERMISSION_DENIED: * The customer doesn't belong to the reseller and has no auth token. * The customer provided incorrect reseller information when generating auth token. * The reseller account making the request is different from the reseller account in the query. * The reseller is not authorized to transact on this Product. See https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT: Required request parameters are missing or invalid. Return value: List of TransferableOffer for the given customer and SKU.</p>
<p class="toc_element">
  <code><a href="#listTransferableOffers_next">listTransferableOffers_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#listTransferableSkus">listTransferableSkus(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">List TransferableSkus of a customer based on the Cloud Identity ID or Customer Name in the request. Use this method to list the entitlements information of an unowned customer. You should provide the customer's Cloud Identity ID or Customer Name. Possible error codes: * PERMISSION_DENIED: * The customer doesn't belong to the reseller and has no auth token. * The supplied auth token is invalid. * The reseller account making the request is different from the reseller account in the query. * INVALID_ARGUMENT: Required request parameters are missing or invalid. Return value: A list of the customer's TransferableSku.</p>
<p class="toc_element">
  <code><a href="#listTransferableSkus_next">listTransferableSkus_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#register">register(account, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Registers a service account with subscriber privileges on the Pub/Sub topic for this Channel Services account or integrator. After you create a subscriber, you get the events through SubscriberEvent Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name with the registered service email address.</p>
<p class="toc_element">
  <code><a href="#unregister">unregister(account, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Unregisters a service account with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. If there are no service accounts left with subscriber privileges, this deletes the topic. You can call ListSubscribers to check for these accounts. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name that unregistered the service email address. Returns a success response if the service email address wasn't registered with the topic.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="checkCloudIdentityAccountsExist">checkCloudIdentityAccountsExist(parent, body=None, x__xgafv=None)</code>
  <pre>Confirms the existence of Cloud Identity accounts based on the domain and if the Cloud Identity accounts are owned by the reseller. Possible error codes: * PERMISSION_DENIED: The reseller account making the request is different from the reseller account in the API request. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INVALID_VALUE: Invalid domain value in the request. Return value: A list of CloudIdentityCustomerAccount resources for the domain (may be empty) Note: in the v1alpha1 version of the API, a NOT_FOUND error returns if no CloudIdentityCustomerAccount resources match the domain.

Args:
  parent: string, Required. The reseller account&#x27;s resource name. Parent uses the format: accounts/{account_id} (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for CloudChannelService.CheckCloudIdentityAccountsExist.
  &quot;domain&quot;: &quot;A String&quot;, # Required. Domain to fetch for Cloud Identity account customers, including domain and team customers. For team customers, please use the domain for their emails.
  &quot;primaryAdminEmail&quot;: &quot;A String&quot;, # Optional. Primary admin email to fetch for Cloud Identity account team customer.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for CloudChannelService.CheckCloudIdentityAccountsExist.
  &quot;cloudIdentityAccounts&quot;: [ # The Cloud Identity accounts associated with the domain.
    { # Entity representing a Cloud Identity account that may be associated with a Channel Services API partner.
      &quot;channelPartnerCloudIdentityId&quot;: &quot;A String&quot;, # If existing = true, and is 2-tier customer, the channel partner of the customer.
      &quot;customerCloudIdentityId&quot;: &quot;A String&quot;, # If existing = true, the Cloud Identity ID of the customer.
      &quot;customerName&quot;: &quot;A String&quot;, # If owned = true, the name of the customer that owns the Cloud Identity account. Customer_name uses the format: accounts/{account_id}/customers/{customer_id}
      &quot;customerType&quot;: &quot;A String&quot;, # If existing = true, the type of the customer.
      &quot;existing&quot;: True or False, # Returns true if a Cloud Identity account exists for a specific domain.
      &quot;owned&quot;: True or False, # Returns true if the Cloud Identity account is associated with a customer of the Channel Services partner (with active subscriptions or purchase consents).
    },
  ],
}</pre>
</div>

<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="listSubscribers">listSubscribers(account, integrator=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
  <pre>Lists service accounts with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn&#x27;t exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: A list of service email addresses.

Args:
  account: string, Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset. (required)
  integrator: string, Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.
  pageSize: integer, Optional. The maximum number of service accounts to return. The service may return fewer than this value. If unspecified, returns at most 100 service accounts. The maximum value is 1000; the server will coerce values above 1000.
  pageToken: string, Optional. A page token, received from a previous `ListSubscribers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscribers` must match the call that provided the page token.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response Message for ListSubscribers.
  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
  &quot;serviceAccounts&quot;: [ # List of service accounts which have subscriber access to the topic.
    &quot;A String&quot;,
  ],
  &quot;topic&quot;: &quot;A String&quot;, # Name of the topic registered with the reseller.
}</pre>
</div>

<div class="method">
    <code class="details" id="listSubscribers_next">listSubscribers_next()</code>
  <pre>Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

<div class="method">
    <code class="details" id="listTransferableOffers">listTransferableOffers(parent, body=None, x__xgafv=None)</code>
  <pre>List TransferableOffers of a customer based on Cloud Identity ID or Customer Name in the request. Use this method when a reseller gets the entitlement information of an unowned customer. The reseller should provide the customer&#x27;s Cloud Identity ID or Customer Name. Possible error codes: * PERMISSION_DENIED: * The customer doesn&#x27;t belong to the reseller and has no auth token. * The customer provided incorrect reseller information when generating auth token. * The reseller account making the request is different from the reseller account in the query. * The reseller is not authorized to transact on this Product. See https://support.google.com/channelservices/answer/9759265 * INVALID_ARGUMENT: Required request parameters are missing or invalid. Return value: List of TransferableOffer for the given customer and SKU.

Args:
  parent: string, Required. The resource name of the reseller&#x27;s account. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for CloudChannelService.ListTransferableOffers
  &quot;billingAccount&quot;: &quot;A String&quot;, # Optional. The Billing Account to look up Offers for. Format: accounts/{account_id}/billingAccounts/{billing_account_id}. This field is only relevant for multi-currency accounts. It should be left empty for single currency accounts.
  &quot;cloudIdentityId&quot;: &quot;A String&quot;, # Customer&#x27;s Cloud Identity ID
  &quot;customerName&quot;: &quot;A String&quot;, # A reseller should create a customer and use the resource name of that customer here.
  &quot;languageCode&quot;: &quot;A String&quot;, # Optional. The BCP-47 language code. For example, &quot;en-US&quot;. The response will localize in the corresponding language code, if specified. The default value is &quot;en-US&quot;.
  &quot;pageSize&quot;: 42, # Requested page size. Server might return fewer results than requested. If unspecified, returns at most 100 offers. The maximum value is 1000; the server will coerce values above 1000.
  &quot;pageToken&quot;: &quot;A String&quot;, # A token for a page of results other than the first page. Obtained using ListTransferableOffersResponse.next_page_token of the previous CloudChannelService.ListTransferableOffers call.
  &quot;sku&quot;: &quot;A String&quot;, # Required. The SKU to look up Offers for.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for CloudChannelService.ListTransferableOffers.
  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve the next page of results. Pass to ListTransferableOffersRequest.page_token to obtain that page.
  &quot;transferableOffers&quot;: [ # Information about Offers for a customer that can be used for transfer.
    { # TransferableOffer represents an Offer that can be used in Transfer. Read-only.
      &quot;offer&quot;: { # Represents an offer made to resellers for purchase. An offer is associated with a Sku, has a plan for payment, a price, and defines the constraints for buying. # Offer with parameter constraints updated to allow the Transfer.
        &quot;constraints&quot;: { # Represents the constraints for buying the Offer. # Constraints on transacting the Offer.
          &quot;customerConstraints&quot;: { # Represents constraints required to purchase the Offer for a customer. # Represents constraints required to purchase the Offer for a customer.
            &quot;allowedCustomerTypes&quot;: [ # Allowed Customer Type.
              &quot;A String&quot;,
            ],
            &quot;allowedRegions&quot;: [ # Allowed geographical regions of the customer.
              &quot;A String&quot;,
            ],
            &quot;promotionalOrderTypes&quot;: [ # Allowed Promotional Order Type. Present for Promotional offers.
              &quot;A String&quot;,
            ],
          },
        },
        &quot;dealCode&quot;: &quot;A String&quot;, # The deal code of the offer to get a special promotion or discount.
        &quot;endTime&quot;: &quot;A String&quot;, # Output only. End of the Offer validity time.
        &quot;marketingInfo&quot;: { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the Offer.
          &quot;defaultLogo&quot;: { # Represents media information. # Default logo.
            &quot;content&quot;: &quot;A String&quot;, # URL of the media.
            &quot;title&quot;: &quot;A String&quot;, # Title of the media.
            &quot;type&quot;: &quot;A String&quot;, # Type of the media.
          },
          &quot;description&quot;: &quot;A String&quot;, # Human readable description. Description can contain HTML.
          &quot;displayName&quot;: &quot;A String&quot;, # Human readable name.
        },
        &quot;name&quot;: &quot;A String&quot;, # Resource Name of the Offer. Format: accounts/{account_id}/offers/{offer_id}
        &quot;parameterDefinitions&quot;: [ # Parameters required to use current Offer to purchase.
          { # Parameter&#x27;s definition. Specifies what parameter is required to use the current Offer to purchase.
            &quot;allowedValues&quot;: [ # If not empty, parameter values must be drawn from this list. For example, [us-west1, us-west2, ...] Applicable to STRING parameter type.
              { # Data type and value of a parameter.
                &quot;boolValue&quot;: True or False, # Represents a boolean value.
                &quot;doubleValue&quot;: 3.14, # Represents a double value.
                &quot;int64Value&quot;: &quot;A String&quot;, # Represents an int64 value.
                &quot;protoValue&quot;: { # Represents an &#x27;Any&#x27; proto value.
                  &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
                },
                &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
              },
            ],
            &quot;maxValue&quot;: { # Data type and value of a parameter. # Maximum value of the parameter, if applicable. Inclusive. For example, maximum seats when purchasing Google Workspace Business Standard. Applicable to INT64 and DOUBLE parameter types.
              &quot;boolValue&quot;: True or False, # Represents a boolean value.
              &quot;doubleValue&quot;: 3.14, # Represents a double value.
              &quot;int64Value&quot;: &quot;A String&quot;, # Represents an int64 value.
              &quot;protoValue&quot;: { # Represents an &#x27;Any&#x27; proto value.
                &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
              },
              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
            },
            &quot;minValue&quot;: { # Data type and value of a parameter. # Minimal value of the parameter, if applicable. Inclusive. For example, minimal commitment when purchasing Anthos is 0.01. Applicable to INT64 and DOUBLE parameter types.
              &quot;boolValue&quot;: True or False, # Represents a boolean value.
              &quot;doubleValue&quot;: 3.14, # Represents a double value.
              &quot;int64Value&quot;: &quot;A String&quot;, # Represents an int64 value.
              &quot;protoValue&quot;: { # Represents an &#x27;Any&#x27; proto value.
                &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
              },
              &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
            },
            &quot;name&quot;: &quot;A String&quot;, # Name of the parameter.
            &quot;optional&quot;: True or False, # If set to true, parameter is optional to purchase this Offer.
            &quot;parameterType&quot;: &quot;A String&quot;, # Data type of the parameter. Minimal value, Maximum value and allowed values will use specified data type here.
          },
        ],
        &quot;plan&quot;: { # The payment plan for the Offer. Describes how to make a payment. # Describes the payment plan for the Offer.
          &quot;billingAccount&quot;: &quot;A String&quot;, # Reseller Billing account to charge after an offer transaction. Only present for Google Cloud offers.
          &quot;paymentCycle&quot;: { # Represents period in days/months/years. # Describes how frequently the reseller will be billed, such as once per month.
            &quot;duration&quot;: 42, # Total duration of Period Type defined.
            &quot;periodType&quot;: &quot;A String&quot;, # Period Type.
          },
          &quot;paymentPlan&quot;: &quot;A String&quot;, # Describes how a reseller will be billed.
          &quot;paymentType&quot;: &quot;A String&quot;, # Specifies when the payment needs to happen.
          &quot;trialPeriod&quot;: { # Represents period in days/months/years. # Present for Offers with a trial period. For trial-only Offers, a paid service needs to start before the trial period ends for continued service. For Regular Offers with a trial period, the regular pricing goes into effect when trial period ends, or if paid service is started before the end of the trial period.
            &quot;duration&quot;: 42, # Total duration of Period Type defined.
            &quot;periodType&quot;: &quot;A String&quot;, # Period Type.
          },
        },
        &quot;priceByResources&quot;: [ # Price for each monetizable resource type.
          { # Represents price by resource type.
            &quot;price&quot;: { # Represents the price of the Offer. # Price of the Offer. Present if there are no price phases.
              &quot;basePrice&quot;: { # Represents an amount of money with its currency type. # Base price.
                &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
              },
              &quot;discount&quot;: 3.14, # Discount percentage, represented as decimal. For example, a 20% discount will be represent as 0.2.
              &quot;discountComponents&quot;: [ # Breakdown of the discount into its components. This will be empty if there is no discount present.
                { # Represents a single component of the total discount applicable on a Price.
                  &quot;discountAbsolute&quot;: { # Represents an amount of money with its currency type. # Fixed value discount.
                    &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
                  },
                  &quot;discountPercentage&quot;: 3.14, # Discount percentage, represented as decimal. For example, a 20% discount will be represented as 0.2.
                  &quot;discountType&quot;: &quot;A String&quot;, # Type of the discount.
                },
              ],
              &quot;effectivePrice&quot;: { # Represents an amount of money with its currency type. # Effective Price after applying the discounts.
                &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
                &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
              },
              &quot;externalPriceUri&quot;: &quot;A String&quot;, # Link to external price list, such as link to Google Voice rate card.
              &quot;pricePeriod&quot;: { # Represents period in days/months/years. # The time period with respect to which base and effective prices are defined. Example: 1 month, 6 months, 1 year, etc.
                &quot;duration&quot;: 42, # Total duration of Period Type defined.
                &quot;periodType&quot;: &quot;A String&quot;, # Period Type.
              },
            },
            &quot;pricePhases&quot;: [ # Specifies the price by time range.
              { # Specifies the price by the duration of months. For example, a 20% discount for the first six months, then a 10% discount starting on the seventh month.
                &quot;firstPeriod&quot;: 42, # Defines first period for the phase.
                &quot;lastPeriod&quot;: 42, # Defines first period for the phase.
                &quot;periodType&quot;: &quot;A String&quot;, # Defines the phase period type.
                &quot;price&quot;: { # Represents the price of the Offer. # Price of the phase. Present if there are no price tiers.
                  &quot;basePrice&quot;: { # Represents an amount of money with its currency type. # Base price.
                    &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
                  },
                  &quot;discount&quot;: 3.14, # Discount percentage, represented as decimal. For example, a 20% discount will be represent as 0.2.
                  &quot;discountComponents&quot;: [ # Breakdown of the discount into its components. This will be empty if there is no discount present.
                    { # Represents a single component of the total discount applicable on a Price.
                      &quot;discountAbsolute&quot;: { # Represents an amount of money with its currency type. # Fixed value discount.
                        &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
                        &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                        &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
                      },
                      &quot;discountPercentage&quot;: 3.14, # Discount percentage, represented as decimal. For example, a 20% discount will be represented as 0.2.
                      &quot;discountType&quot;: &quot;A String&quot;, # Type of the discount.
                    },
                  ],
                  &quot;effectivePrice&quot;: { # Represents an amount of money with its currency type. # Effective Price after applying the discounts.
                    &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
                    &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
                  },
                  &quot;externalPriceUri&quot;: &quot;A String&quot;, # Link to external price list, such as link to Google Voice rate card.
                  &quot;pricePeriod&quot;: { # Represents period in days/months/years. # The time period with respect to which base and effective prices are defined. Example: 1 month, 6 months, 1 year, etc.
                    &quot;duration&quot;: 42, # Total duration of Period Type defined.
                    &quot;periodType&quot;: &quot;A String&quot;, # Period Type.
                  },
                },
                &quot;priceTiers&quot;: [ # Price by the resource tiers.
                  { # Defines price at resource tier level. For example, an offer with following definition : * Tier 1: Provide 25% discount for all seats between 1 and 25. * Tier 2: Provide 10% discount for all seats between 26 and 100. * Tier 3: Provide flat 15% discount for all seats above 100. Each of these tiers is represented as a PriceTier.
                    &quot;firstResource&quot;: 42, # First resource for which the tier price applies.
                    &quot;lastResource&quot;: 42, # Last resource for which the tier price applies.
                    &quot;price&quot;: { # Represents the price of the Offer. # Price of the tier.
                      &quot;basePrice&quot;: { # Represents an amount of money with its currency type. # Base price.
                        &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
                        &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                        &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
                      },
                      &quot;discount&quot;: 3.14, # Discount percentage, represented as decimal. For example, a 20% discount will be represent as 0.2.
                      &quot;discountComponents&quot;: [ # Breakdown of the discount into its components. This will be empty if there is no discount present.
                        { # Represents a single component of the total discount applicable on a Price.
                          &quot;discountAbsolute&quot;: { # Represents an amount of money with its currency type. # Fixed value discount.
                            &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
                            &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                            &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
                          },
                          &quot;discountPercentage&quot;: 3.14, # Discount percentage, represented as decimal. For example, a 20% discount will be represented as 0.2.
                          &quot;discountType&quot;: &quot;A String&quot;, # Type of the discount.
                        },
                      ],
                      &quot;effectivePrice&quot;: { # Represents an amount of money with its currency type. # Effective Price after applying the discounts.
                        &quot;currencyCode&quot;: &quot;A String&quot;, # The three-letter currency code defined in ISO 4217.
                        &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                        &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount. For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
                      },
                      &quot;externalPriceUri&quot;: &quot;A String&quot;, # Link to external price list, such as link to Google Voice rate card.
                      &quot;pricePeriod&quot;: { # Represents period in days/months/years. # The time period with respect to which base and effective prices are defined. Example: 1 month, 6 months, 1 year, etc.
                        &quot;duration&quot;: 42, # Total duration of Period Type defined.
                        &quot;periodType&quot;: &quot;A String&quot;, # Period Type.
                      },
                    },
                  },
                ],
              },
            ],
            &quot;resourceType&quot;: &quot;A String&quot;, # Resource Type. Example: SEAT
          },
        ],
        &quot;sku&quot;: { # Represents a product&#x27;s purchasable Stock Keeping Unit (SKU). SKUs represent the different variations of the product. For example, Google Workspace Business Standard and Google Workspace Business Plus are Google Workspace product SKUs. # SKU the offer is associated with.
          &quot;marketingInfo&quot;: { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the SKU.
            &quot;defaultLogo&quot;: { # Represents media information. # Default logo.
              &quot;content&quot;: &quot;A String&quot;, # URL of the media.
              &quot;title&quot;: &quot;A String&quot;, # Title of the media.
              &quot;type&quot;: &quot;A String&quot;, # Type of the media.
            },
            &quot;description&quot;: &quot;A String&quot;, # Human readable description. Description can contain HTML.
            &quot;displayName&quot;: &quot;A String&quot;, # Human readable name.
          },
          &quot;name&quot;: &quot;A String&quot;, # Resource Name of the SKU. Format: products/{product_id}/skus/{sku_id}
          &quot;product&quot;: { # A Product is the entity a customer uses when placing an order. For example, Google Workspace, Google Voice, etc. # Product the SKU is associated with.
            &quot;marketingInfo&quot;: { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the product.
              &quot;defaultLogo&quot;: { # Represents media information. # Default logo.
                &quot;content&quot;: &quot;A String&quot;, # URL of the media.
                &quot;title&quot;: &quot;A String&quot;, # Title of the media.
                &quot;type&quot;: &quot;A String&quot;, # Type of the media.
              },
              &quot;description&quot;: &quot;A String&quot;, # Human readable description. Description can contain HTML.
              &quot;displayName&quot;: &quot;A String&quot;, # Human readable name.
            },
            &quot;name&quot;: &quot;A String&quot;, # Resource Name of the Product. Format: products/{product_id}
          },
        },
        &quot;startTime&quot;: &quot;A String&quot;, # Start of the Offer validity time.
      },
      &quot;priceReferenceId&quot;: &quot;A String&quot;, # Optional. Price reference ID for the offer. Only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order.
    },
  ],
}</pre>
</div>

<div class="method">
    <code class="details" id="listTransferableOffers_next">listTransferableOffers_next()</code>
  <pre>Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

<div class="method">
    <code class="details" id="listTransferableSkus">listTransferableSkus(parent, body=None, x__xgafv=None)</code>
  <pre>List TransferableSkus of a customer based on the Cloud Identity ID or Customer Name in the request. Use this method to list the entitlements information of an unowned customer. You should provide the customer&#x27;s Cloud Identity ID or Customer Name. Possible error codes: * PERMISSION_DENIED: * The customer doesn&#x27;t belong to the reseller and has no auth token. * The supplied auth token is invalid. * The reseller account making the request is different from the reseller account in the query. * INVALID_ARGUMENT: Required request parameters are missing or invalid. Return value: A list of the customer&#x27;s TransferableSku.

Args:
  parent: string, Required. The reseller account&#x27;s resource name. Parent uses the format: accounts/{account_id} (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for CloudChannelService.ListTransferableSkus
  &quot;authToken&quot;: &quot;A String&quot;, # Optional. The super admin of the resold customer generates this token to authorize a reseller to access their Cloud Identity and purchase entitlements on their behalf. You can omit this token after authorization. See https://support.google.com/a/answer/7643790 for more details.
  &quot;cloudIdentityId&quot;: &quot;A String&quot;, # Customer&#x27;s Cloud Identity ID
  &quot;customerName&quot;: &quot;A String&quot;, # A reseller is required to create a customer and use the resource name of the created customer here. Customer_name uses the format: accounts/{account_id}/customers/{customer_id}
  &quot;languageCode&quot;: &quot;A String&quot;, # The BCP-47 language code. For example, &quot;en-US&quot;. The response will localize in the corresponding language code, if specified. The default value is &quot;en-US&quot;. Optional.
  &quot;pageSize&quot;: 42, # The requested page size. Server might return fewer results than requested. If unspecified, returns at most 100 SKUs. The maximum value is 1000; the server will coerce values above 1000. Optional.
  &quot;pageToken&quot;: &quot;A String&quot;, # A token for a page of results other than the first page. Obtained using ListTransferableSkusResponse.next_page_token of the previous CloudChannelService.ListTransferableSkus call. Optional.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for CloudChannelService.ListTransferableSkus.
  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve the next page of results. Pass to ListTransferableSkusRequest.page_token to obtain that page.
  &quot;transferableSkus&quot;: [ # Information about existing SKUs for a customer that needs a transfer.
    { # TransferableSku represents information a reseller needs to view existing provisioned services for a customer that they do not own. Read-only.
      &quot;legacySku&quot;: { # Represents a product&#x27;s purchasable Stock Keeping Unit (SKU). SKUs represent the different variations of the product. For example, Google Workspace Business Standard and Google Workspace Business Plus are Google Workspace product SKUs. # Optional. The customer to transfer has an entitlement with the populated legacy SKU.
        &quot;marketingInfo&quot;: { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the SKU.
          &quot;defaultLogo&quot;: { # Represents media information. # Default logo.
            &quot;content&quot;: &quot;A String&quot;, # URL of the media.
            &quot;title&quot;: &quot;A String&quot;, # Title of the media.
            &quot;type&quot;: &quot;A String&quot;, # Type of the media.
          },
          &quot;description&quot;: &quot;A String&quot;, # Human readable description. Description can contain HTML.
          &quot;displayName&quot;: &quot;A String&quot;, # Human readable name.
        },
        &quot;name&quot;: &quot;A String&quot;, # Resource Name of the SKU. Format: products/{product_id}/skus/{sku_id}
        &quot;product&quot;: { # A Product is the entity a customer uses when placing an order. For example, Google Workspace, Google Voice, etc. # Product the SKU is associated with.
          &quot;marketingInfo&quot;: { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the product.
            &quot;defaultLogo&quot;: { # Represents media information. # Default logo.
              &quot;content&quot;: &quot;A String&quot;, # URL of the media.
              &quot;title&quot;: &quot;A String&quot;, # Title of the media.
              &quot;type&quot;: &quot;A String&quot;, # Type of the media.
            },
            &quot;description&quot;: &quot;A String&quot;, # Human readable description. Description can contain HTML.
            &quot;displayName&quot;: &quot;A String&quot;, # Human readable name.
          },
          &quot;name&quot;: &quot;A String&quot;, # Resource Name of the Product. Format: products/{product_id}
        },
      },
      &quot;sku&quot;: { # Represents a product&#x27;s purchasable Stock Keeping Unit (SKU). SKUs represent the different variations of the product. For example, Google Workspace Business Standard and Google Workspace Business Plus are Google Workspace product SKUs. # The SKU pertaining to the provisioning resource as specified in the Offer.
        &quot;marketingInfo&quot;: { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the SKU.
          &quot;defaultLogo&quot;: { # Represents media information. # Default logo.
            &quot;content&quot;: &quot;A String&quot;, # URL of the media.
            &quot;title&quot;: &quot;A String&quot;, # Title of the media.
            &quot;type&quot;: &quot;A String&quot;, # Type of the media.
          },
          &quot;description&quot;: &quot;A String&quot;, # Human readable description. Description can contain HTML.
          &quot;displayName&quot;: &quot;A String&quot;, # Human readable name.
        },
        &quot;name&quot;: &quot;A String&quot;, # Resource Name of the SKU. Format: products/{product_id}/skus/{sku_id}
        &quot;product&quot;: { # A Product is the entity a customer uses when placing an order. For example, Google Workspace, Google Voice, etc. # Product the SKU is associated with.
          &quot;marketingInfo&quot;: { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the product.
            &quot;defaultLogo&quot;: { # Represents media information. # Default logo.
              &quot;content&quot;: &quot;A String&quot;, # URL of the media.
              &quot;title&quot;: &quot;A String&quot;, # Title of the media.
              &quot;type&quot;: &quot;A String&quot;, # Type of the media.
            },
            &quot;description&quot;: &quot;A String&quot;, # Human readable description. Description can contain HTML.
            &quot;displayName&quot;: &quot;A String&quot;, # Human readable name.
          },
          &quot;name&quot;: &quot;A String&quot;, # Resource Name of the Product. Format: products/{product_id}
        },
      },
      &quot;transferEligibility&quot;: { # Specifies transfer eligibility of a SKU. # Describes the transfer eligibility of a SKU.
        &quot;description&quot;: &quot;A String&quot;, # Localized description if reseller is not eligible to transfer the SKU.
        &quot;ineligibilityReason&quot;: &quot;A String&quot;, # Specified the reason for ineligibility.
        &quot;isEligible&quot;: True or False, # Whether reseller is eligible to transfer the SKU.
      },
    },
  ],
}</pre>
</div>

<div class="method">
    <code class="details" id="listTransferableSkus_next">listTransferableSkus_next()</code>
  <pre>Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

<div class="method">
    <code class="details" id="register">register(account, body=None, x__xgafv=None)</code>
  <pre>Registers a service account with subscriber privileges on the Pub/Sub topic for this Channel Services account or integrator. After you create a subscriber, you get the events through SubscriberEvent Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name with the registered service email address.

Args:
  account: string, Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request Message for RegisterSubscriber.
  &quot;account&quot;: &quot;A String&quot;, # Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.
  &quot;integrator&quot;: &quot;A String&quot;, # Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.
  &quot;serviceAccount&quot;: &quot;A String&quot;, # Required. Service account that provides subscriber access to the registered topic.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response Message for RegisterSubscriber.
  &quot;topic&quot;: &quot;A String&quot;, # Name of the topic the subscriber will listen to.
}</pre>
</div>

<div class="method">
    <code class="details" id="unregister">unregister(account, body=None, x__xgafv=None)</code>
  <pre>Unregisters a service account with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. If there are no service accounts left with subscriber privileges, this deletes the topic. You can call ListSubscribers to check for these accounts. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn&#x27;t exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name that unregistered the service email address. Returns a success response if the service email address wasn&#x27;t registered with the topic.

Args:
  account: string, Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request Message for UnregisterSubscriber.
  &quot;account&quot;: &quot;A String&quot;, # Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.
  &quot;integrator&quot;: &quot;A String&quot;, # Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.
  &quot;serviceAccount&quot;: &quot;A String&quot;, # Required. Service account to unregister from subscriber access to the topic.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response Message for UnregisterSubscriber.
  &quot;topic&quot;: &quot;A String&quot;, # Name of the topic the service account subscriber access was removed from.
}</pre>
</div>

</body></html>